package org.dromara.answerFront.service;


import org.dromara.answer.domain.bo.AiExamsBo;
import org.dromara.answer.domain.bo.AiUserAnswersBo;
import org.dromara.answer.domain.bo.AiUserExamsBo;
import org.dromara.answer.domain.vo.AiExamsVo;
import org.dromara.answer.domain.vo.AiUserExamsVo;
import org.dromara.answerFront.vo.ComputationResultVo;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;

import java.util.List;

/**
 * 用户考试记录Service接口
 *
 * @author Lion Li
 * @date 2025-04-09
 */
public interface IFrontUserExamsService {

    /**
     * 查询自己所有的考试记录
     * @param bo
     * @return
     */
    List<AiUserExamsVo> queryList(AiUserExamsBo bo);

    /**
     * 查询考试记录详情
     * @param userExamId
     * @return
     */
    AiUserExamsVo queryById(Long userExamId);

    /**
     * 开始考试
     * @param bo
     * @return
     */
    AiUserExamsBo start(AiUserExamsBo bo);

    /**
     * 提交考试
     * @param bo
     * @return
     */
    AiUserExamsVo submit(AiUserExamsBo bo);

    /**
     * 选择题目
     * @param bo
     * @return
     */
    AiUserAnswersBo selectAnswer(AiUserAnswersBo bo);

    TableDataInfo<AiExamsVo> queryListPaper(AiExamsBo bo, PageQuery pageQuery);

    AiExamsVo queryPaperById(Long examId);

}
